<?php
use LaravelBook\Ardent\Ardent;

class Person extends Ardent {
	protected $table;
	public $timestamps = false;
	
	public static $rules = array(
			'firstname' => 'required|max:50',
			'lastname' => 'required|max:50',
			'telephone' => 'max:50',
			'cellphone' => 'max:50',
			'email' => 'required|email|max:50',
			'salutation_id' => 'required|numeric'
	);
	
	public static $customMessages = array(
			'firstname.required' => 'Vorname muss gesetzt sein!',
			'firstname.max' => 'Vorname darf max. 50 Zeichen beinhalten!',
			'lastname.required' => 'Nachname muss gesetzt sein!',
			'lastname.max' => 'Nachname darf max. 50 Zeichen beinhalten!',
			'telephone.max' => 'Telefonnummer darf max. 50 Zeichen beinhalten!',
			'cellphone.max' => 'Handynummer darf max. 50 Zeichen beinhalten!',
			'email.required' => 'Emailadresse muss gesetzt sein!',
			'email.email' => 'Format der Emailadresse ist nicht korrekt!',
			'email.max' => 'Emailadresse darf max. 50 Zeichen beinhalten!',
			'salutation_id.required' => 'Anrede muss gesetzt sein!',
			'salutation_id.numeric' => 'Anrede muss ein numerischer Wert sein!'
	);

	
	/********************************************************************************
	 ******************************** PUBLIC FUNCTIONS ******************************
	********************************************************************************/


	/**
	 * ses the table for the model
	 */
	public function __construct() {
		$this->table = Helper::getDB ('core') . 'person';
		parent::__construct();
	}


	/**
	 * returns the full name of the person
	 * @return		string
	 */
	public function getFullName(){
		return $this->lastname . ' ' . $this->firstname;
	}


	/**********************************************************************
	 ************************** HAS MANY RELATIONS ************************
	**********************************************************************/


	/**********************************************************************
	 ************************* BELONGS TO RELATIONS ***********************
	**********************************************************************/

	/**
	 * returns the salutation
	 * @return		mixed
	 */
	public function salutation(){
		return $this->belongsTo('Salutation', 'salutation_id');
	}


	/**
	 * returns the address
	 * @return		mixed
	 */
	public function address(){
		return $this->belongsTo('Address', 'address_id');
	}
}